/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;


/**
 * @author Carlos, Eduardo
 */
public class EmisorSMS extends MIDlet implements CommandListener {
    private Sender emisor=null;
    private String destino = this.getAppProperty("Destino");
    private String puerto = this.getAppProperty("Puerto");

    //Elementos de la IU
    private Command cmdExit = new Command("Salir", Command.EXIT, 0);
    private Command cmdEnviar = new Command("Enviar", Command.SCREEN, 0);
//    private TextField txtTelefono = null;
//    private TextField txtPuerto = null;
    private TextField txtEncuesta = null;
    private TextField txtVoto=null;
    private Form formulario=null;

    public EmisorSMS(){
        emisor = Sender.getInstance();
    }

    public void commandAction(Command c, Displayable d){
      if(c==cmdExit){
      destroyApp(true);
      notifyDestroyed();
      }else if(c==cmdEnviar){
          if(esValido()){
            //Enviar el mensaje
              String msj = txtEncuesta.getString() + " " + txtVoto.getString();
//              emisor.enviarMensaje(txtTelefono.getString(), txtPuerto.getString(), msj);
              emisor.enviarMensaje(destino, puerto, msj);
              txtEncuesta.setString("");
              txtVoto.setString("");
              doAlert("Gracias por participar", AlertType.INFO, d);
          } else {
              doAlert("Ingrese un codigo de encuesta y voto validos", AlertType.ERROR, d);
          }
      }
    }

    private boolean esValido(){
        return (txtEncuesta.getString().length() == 6 && txtVoto.getString().length() == 1);
    }

    public void startApp() {
        if(formulario==null){
            formulario = new Form("Envio de votos");
//            txtTelefono = new TextField(("Telefono celular:"), "77863654", 8, TextField.NUMERIC);
//            txtPuerto = new TextField("Puerto de envio", "50000", 10, TextField.NUMERIC);
            txtEncuesta = new TextField("Código de encuesta: ", null, 6, TextField.NUMERIC);
            txtVoto = new TextField("Opción: ", null, 1 , TextField.NUMERIC);
//            formulario.append(txtTelefono);
//            formulario.append(txtPuerto);
            formulario.append(txtEncuesta);
            formulario.append(txtVoto);

            //Añadir comandos
            formulario.addCommand(cmdExit);
            formulario.addCommand(cmdEnviar);
            formulario.setCommandListener(this);
        }
        Display.getDisplay(this).setCurrent(formulario);

    }

    public void pauseApp() {
    }

    public void destroyApp(boolean unconditional) {
    }

    private void doAlert(String str, AlertType tipo, Displayable d)
    {
        Alert alerta = new Alert("VotoSMS", str, null, tipo);
        alerta.setTimeout(3000);
        Display.getDisplay(this).setCurrent(alerta, d);
    }
}
